/*******************************************************************************
** 文件名称：timer2.c
** 文件作用：TC2
** 编写作者：Tom Free 付瑞彪
** 编写时间：2021-05-23
** 文件备注：
**
** 更新记录：
**           2021-05-23 -> 创建文件
**                                                            <Tom Free 付瑞彪>
**
**           Copyright (c) 2018-2021 付瑞彪 All Rights Reserved
**
**       1 Tab == 4 Spaces     UTF-8     ANSI C Language(C99)
*******************************************************************************/

#include "timer2.h"

/* timer2初始化 */
void timer2_init(void)
{
    /* 输出拉低OC2 */
    DDRD |= 0x80;
    PORTD &= ~0x80;

    TCNT2 = 0x00;   /* 清楚定时器计数值 */
    TIMSK &= ~0xC0; /* 00XX_XXXX 关闭匹配和溢出中断 */
    TIFR &= ~0xC0;  /* 00XX_XXXX 清除匹配和溢出中断标志 */
    OCR2 = 124;     /* 1/(16000000/32)*125 =250us 输出比较值 */
    TCCR2 = 0x1B;   /* 0001_1011 CTC模式，匹配取反OC2，32分频=500kHz */
}

/* timer2反初始化 */
void timer2_deinit(void)
{
    TCCR2 = 0x00;   /* 0000_000 关闭时钟 */

    /* 拉低OC2 */
    DDRD |= 0x80;
    PORTD &= ~0x80;
}
